/**
 * 创建应用
 */
var App = function() {

    //form表单
    var transferForm = $("#transfer-form");

    //开始时间
    var beginTime = $("#beginTime");
    //结束时间
    var endTime = $("#endTime");

    return {

        requires : ['Fw.Popover', 'Fw.ListView', 'Fw.Datetimepicker', 'Fw.FormValidation'],
        /**
         * 初始化
         * 应用入口
         */
        init : function(require) {

            //导入Top导航菜单
            //require('Fw.app.TopNav');
            //导入页脚
            //require('Fw.app.Footer');

            //使低版本浏览器支持placeholder（IE8及以下）
            $('input').placeholder();

            // 渲染日历选择组件，开始时间
            beginTime.parent().datetimepicker({
                //pickerPosition : 'top-left'
            });

            endTime.parent().datetimepicker({
                pickerPosition : 'top-left'
            });

            //监听事件
            this.initEvents();
            //验证
            this.initValidator();

        },
        //监听事件
        initEvents : function() {

            //绑定事件
            //结束日期框改变,
            //$('#pageEndTime,#pageBeginTime').on('change', Fw.bind(this.onDateChange, this));
            $('#pageEndTime').on('change', Fw.bind(this.onDateChange, this));
        },
        //改变事件
        onDateChange : function() {
            // 1.
            //重新验证
            transferForm.data('formValidation').revalidateField('beginTime');
            //<input name="beginTime"/>
            transferForm.data('formValidation').revalidateField('endTime');
            //<input name="endTime"/>
            // or 2.
            //transferForm.formValidation('revalidateField', 'beginTime');
            //transferForm.formValidation('revalidateField', 'endTime');
        },
        //表单验证
        initValidator : function() {
            transferForm.formValidation({
                //账号
                account : {
                    validators : {
                        //不允许为空
                        notEmpty : {
                            message : '请输入手机号码或电子邮箱'
                        }
                    }
                },
                beginTime : {
                    validators : {
                        notEmpty : {
                            message : '请输入查询时间'
                        }
                    }
                },
                endTime : {
                    validators : {
                        notEmpty : {
                            message : '请选择查询时间'
                        },
                        callback : {
                            //message: '请输入有效的查询时间',
                            callback : function(value, validator) {
                                return {
                                    message : '结束时间不能大于开始时间 ',
                                    valid : value.replace(/-/g, "/") >= $('#beginTime').val().replace(/-/g, "/")
                                };
                            }
                        }
                    }
                }

            });

        }
    };
}();

/**
 * 页面加载完毕后，初始化应用
 */
Fw.onReady(App);
